Pfhortran Updates: version 0.4
------------------------------
- Rewrote parsing code so compiler app is no longer necessary
- Added error logging ability
- Added procedure binding code to make scripts more modular
- Removed On_Init and End_Init in favor of new procedure structure
- Implemented camera paths
- Changed comment marker from '--' to '#'
- Wrote Pfhortran documentation
- Added Matthew Hielscher's Pfhortran additions
- Changed mode identifier from secret last operand to specific mode variable

Removed instructions:
-----------------
On_Init
End_Init


New instructions:
-----------------

instruction		operands		description
-------------------------------------------------------------------------------
End								Stops the current procedure execution	
Get_My_Value		x			returns the current procedure's value into x

Init_Paths 			x			initalizes the number of user-defined cameras
New_Path 			x, y		initalize new path x with y points
Dispose_Path 		x			free memory used by path x
Select_Path 		x			selects a path for editing
Set_Path_Move_Speed x			sets the current path's movement speed to x
Select_Point 		x			selects a path point for editing
Set_Point_Poly 		x			sets selected path point to reside in polygon x
Set_Point_Pos 		x, y, z		sets the position of the selected path point
Set_Point_YP 		x, y 		sets the yaw/pitch of the selected path point
Start_Camera_On_Path x			starts the selected camera on path x
Set_Path_Roll_Speed x			sets the current path's yaw/pitch speed to x
Wait_For_Path					waits until the current path animation ends
					
Teleport_Player		x			teleports the player to polygon x

---- Matthew Hielscher's Instructions ----

Change_Soundtrack 	x			changes midi track to track x
Set_Fog_Depth 		x			changes the OGL fog depth to x
Set_Fog_Color 		x			changes the OGL fog color to x=r, y=g, z=b
Get_Fog_Depth		x			puts the fog depth into x
Get_Fog_Color		x, y, z		puts the rgb values of the fog color into xyz	

-------------------------------------------------------------------------------




Pfhortran Updates: version 0.3
------------------------------
- Added camera control via seven new camera instructions
- Made Hide_Interface and Show_Interface work correctly
- Added block_start and block_end structure to speed up code execution
- Fixed a bug that would sometimes cause scripts to crash after script_end
- Made "Quartz" map to show off camera stuff
- Updated "Ten Forty Two" to show off block stuff

New instructions:
-----------------

instruction		operands		description
-------------------------------------------------------------------------------
Init_Cameras		x			Initalizes x number of cameras for later use
Select_Camera		x			Selects camera x for editing
Set_Camera_Poly		x			Sets selected camera to reside in polygon x	
Set_Camera_Pos 		x, y, z		Sets the position of the selected camera
Set_Camera_YP 		x, y 		Sets the yaw to x and the pitch to y of the
									selected camera
Activate_Camera					Activates the currently selected camera
Use_Camera 			x			Selects and activates camera x

Block_Start						Starts a block of quickly executable code
Block_End						Ends a block of quickly executable code

Hide_Interface					Makes the view the same as full-screen
Show_Interface					Reverts to previous screen size
-------------------------------------------------------------------------------


Pfhortran Updates: version 0.2
------------------------------

- Added call/return procedure support
- Added greater variable testing utilities
- Added get/set life/oxygen instructions
- Added add items/weapons instruction
- Added select weapons instruction
- Added "Show Commands" to the Pfhortran compiler
- Fixed a bug with the "Set" command
- Added "if_=" mneumonic for "If_Equal"
- Added init event


New instructions:
-----------------

instruction		operands		description
-------------------------------------------------------------------------------
Call			label			Calls a procedure starting at label
Return							Returns from a procedure
If_Greater 		x, y, label		Compares x and y and jumps to label if x > y
If_Less			x, y, label 	Compares x and y and jumps to label if x < y
	If_<
If_!Equal		x, y, label		Compares x and y and jumps if not equal
	If_Not_Equal
	If_!=
Get_Life		x				Put the value of the player's life into x
Set_Life		x				Set the value of the player's life to x
Get_Oxygen		x				Put the value of the player's oxygen into x
Set_Oxygen		x				Set the value of the player's oxygen to x
On_Init							Defines the beginning of the init event
End_Init						Defines the end of the init event
Add_Item		x				Adds item x to the player's inventory
Select_Weapon	x				Selects weapon x for the player
-------------------------------------------------------------------------------
